#!/bin/bash

# --- 设定颜色风格：保持友好和清晰 ---
COLOR_HIGHLIGHT='\033[1;36m'  # 青色突出显示关键信息
COLOR_SUCCESS='\033[1;32m'    # 绿色表示成功
COLOR_WARNING='\033[1;33m'    # 黄色表示提示或已存在
COLOR_ERROR='\033[1;31m'      # 红色表示错误
COLOR_RESET='\033[0m'         # 重置颜色

echo -e "${COLOR_HIGHLIGHT}--- iFlow CLI 环境准备脚本启动 ---${COLOR_RESET}"

# 1. 安装 Node.js
echo -e "${COLOR_HIGHLIGHT}✅ 步骤一：检查并安装 Node.js${COLOR_RESET}"
if command -v node &> /dev/null
then
    echo -e "${COLOR_WARNING}（提示）Node.js 似乎已安装，跳过安装步骤。${COLOR_RESET}"
else
    echo -e "正在执行：sudo apt update && sudo apt install -y nodejs"
    sudo apt update && sudo apt install -y nodejs
    if [ $? -eq 0 ]; then
        echo -e "${COLOR_SUCCESS}Node.js 安装成功。${COLOR_RESET}"
    else
        echo -e "${COLOR_ERROR}Node.js 安装失败。请检查系统权限或网络连接。${COLOR_RESET}"
        exit 1
    fi
fi
echo "---"

# 2. 检查并安装 iflow CLI
echo -e "${COLOR_HIGHLIGHT}✅ 步骤二：检查并安装 iFlow CLI (iflow)${COLOR_RESET}"
if command -v iflow -v &> /dev/null
then
    echo -e "${COLOR_WARNING}（提示）iFlow CLI 似乎已安装。${COLOR_RESET}"
else
    echo -e "iFlow CLI 未找到，正在执行安装命令："
    echo -e "npm i -g @iflow-ai/iflow-cli"
    npm i -g @iflow-ai/iflow-cli
    if [ $? -eq 0 ]; then
        echo -e "${COLOR_SUCCESS}iFlow CLI 安装成功。${COLOR_RESET}"
    else
        echo -e "${COLOR_ERROR}iFlow CLI 安装失败。请检查 npm 配置或网络连接。${COLOR_RESET}"
        exit 1
    fi
fi
echo "---"

# 3. 后续使用提示
echo -e "${COLOR_HIGHLIGHT}🎉 环境配置完成！${COLOR_RESET}"

echo -e "${COLOR_WARNING}【后续操作指南】${COLOR_RESET}"
echo -e "* **iFlow 初始化：**"
echo -e "  - iFlow CLI 首次运行需要初始化配置，请直接在命令行运行：${COLOR_HIGHLIGHT}iflow${COLOR_RESET}"
echo -e "  - ${COLOR_WARNING}模型建议：${COLOR_RESET} 初始化时，推荐选择 ${COLOR_HIGHLIGHT}GLM-4.6${COLOR_RESET} 模型。"

echo -e "* **服务器操作：**"
echo -e "  - 开启服务器：运行已有的脚本 ${COLOR_HIGHLIGHT}./on${COLOR_RESET}"
echo -e "  - 关闭服务器：运行已有的脚本 ${COLOR_HIGHLIGHT}./off${COLOR_RESET}"

echo -e "${COLOR_SUCCESS}祝您使用愉快！${COLOR_RESET}"
